﻿using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;

namespace Battleship
{
    class Constants
    {
        // Các cột của bảng HYDROSTATIC
        public const string COL_DI = "di(m)";
        public const string COL_BML = "BML";
        public const string COL_V = "V(m^3)";
        public const string COL_W = "W(t)";
        public const string COL_AW = "Aw(m^2)";
        public const string COL_LW = "Lw(m)";
        public const string COL_XB = "Xb(m)";
        public const string COL_ZB = "Zb(m)";
        public const string COL_XW = "Xw(m)";
        public const string COL_CB = "Cb";
        public const string COL_CW = "Cw";
        public const string COL_CM = "Cm";
        public const string COL_TPC = "TPC(t)";
        public const string COL_MPC = "MPC(t.m)";
        public const string COL_r = "r(m)";
        public const string COL_R = "R(m)";
        public const string COL_ST = "ST(m2)";
        public const string COL_ZT = "ZT(m)";
        public const string COL_XT = "XT(m)";

        // Các cột của bảng CONTAINER
        public const string COL_TANK = "Tank";
        public const string COL_WEIGHT = "Weight";
        public const string COL_VOLUME = "Volume";
        public const string COL_CAP = "Cap";
        public const string COL_SG = "SG";
        public const string COL_LCG = "LCG";
        public const string COL_VCG = "VCG";
        public const string COL_TCG = "TCG";
        public const string COL_FSM = "FSM";

        // Kí hiệu các đơn  vị tính
        public const string LCF = "LCF";
        public const string LCB = "LCB";
        public const string DI = "DI";
        public const string BML = "BML";
        public const string CB = "CB";
        public const string KB = "KB";
        public const string BM = "BM";
        public const string r = "r";
        public const string ST = "ST";
        public const string ZT = "ZT";
        public const string XT = "XT";
        public const string MTRIM = "MTRIM";
        public const string TPC = "TPC";

        // Đường dẫn đến các bảng dữ liệu
        public const string CONTAINER_DATA_PATH = "E:\\data.txt";
        public static string HYDROSTATIC_DATA_PATH = Path.Combine(Directory.GetParent(
            Directory.GetParent(Environment.CurrentDirectory.ToString()).ToString()).ToString(), @"Data\HydroStatic.xlsx");
        public static string CROSS_DATA_PATH = Path.Combine(Directory.GetParent(
            Directory.GetParent(Environment.CurrentDirectory.ToString()).ToString()).ToString(), @"Data\CROSS.xlsx");
        public static string BOJEAN_DATA_PATH = Path.Combine(Directory.GetParent(
            Directory.GetParent(Environment.CurrentDirectory.ToString()).ToString()).ToString(), @"Data\Bojean.xlsx");
        public static string REPORT_TEMPLATE_PATH = Path.Combine(Directory.GetParent(
            Directory.GetParent(Environment.CurrentDirectory.ToString()).ToString()).ToString(), @"Data\reportTemplate.xlsx");
        public static string CHART_IMAGE_PATH = Path.Combine(Directory.GetParent(
            Directory.GetParent(Environment.CurrentDirectory.ToString()).ToString()).ToString(), @"Data\Chart.png");

        // Đơn vị hằng số
        public const double L = 66.65;
        public const double B = 12.3;
        public const double C = 0.76;
        public const double LCG = -2.1759;
        public const int numHydro = 18;
        public const int numPhiVol = 10;
        public const int numWaterVol = 22;
        public const double n1Max = 3.0;
        public const double n1Min = 0.1;
        public const double BdMax = 2.5;
        public const double BdMin = 10.0;
        public const double CBMax = 0.8;
        public const double CBMin = 0.45;
        public const double P = 437.3; // Khối lượng tàu không
        public const double Zg = 2.216;
        public const int gamma = 1;
        public const double ZTMin = 0.5;
        public const double ZTMax = 6.0;
        public const double BTMin = 2.5;
        public const double BTMax = 10;
        public const double ZgBMin = 0.15;
        public const double ZgBMax = 0.45;
    }
}
